Copyright (c) [Year] [name of copyright holder]
[Software Name] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan
PSL v2.
You may obtain a copy of Mulan PSL v2 at:
         http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.

Mulan Permissive Software License，Version 2

Mulan Permissive Software License，Version 2 (Mulan PSL v2)

January 2020 http://license.coscl.org.cn/MulanPSL2

Your reproduction, use, modification and distribution of the Software shall
be subject to Mulan PSL v2 (this License) with the following terms and
conditions:

0. Definition

Software means the program and related documents which are licensed under
this License and comprise all Contribution(s).

Contribution means the copyrightable work licensed by a particular
Contributor under this License.

Contributor means the Individual or Legal Entity who licenses its
copyrightable work under this License.

Legal Entity means the entity making a Contribution and all its
Affiliates.

Affiliates means entities that control, are controlled by, or are under
common control with the acting entity under this License, ‘control’ means
direct or indirect ownership of at least fifty percent (50%) of the voting
power, capital or other securities of controlled or commonly controlled
entity.

1. Grant of Copyright License

Subject to the terms and conditions of this License, each Contributor hereby
grants to you a perpetual, worldwide, royalty-free, non-exclusive,
irrevocable copyright license to reproduce, use, modify, or distribute its
Contribution, with modification or not.

2. Grant of Patent License

Subject to the terms and conditions of this License, each Contributor hereby
grants to you a perpetual, worldwide, royalty-free, non-exclusive,
irrevocable (except for revocation under this Section) patent license to
make, have made, use, offer for sale, sell, import or otherwise transfer its
Contribution, where such patent license is only limited to the patent claims
owned or controlled by such Contributor now or in future which will be
necessarily infringed by its Contribution alone, or by combination of the
Contribution with the Software to which the Contribution was contributed.
The patent license shall not apply to any modification of the Contribution,
and any other combination which includes the Contribution. If you or your
Affiliates directly or indirectly institute patent litigation (including a
cross claim or counterclaim in a litigation) or other patent enforcement
activities against any individual or entity by alleging that the Software or
any Contribution in it infringes patents, then any patent license granted to
you under this License for the Software shall terminate as of the date such
litigation or activity is filed or taken.

3. No Trademark License

No trademark license is granted to use the trade names, trademarks, service
marks, or product names of Contributor, except as required to fulfill notice
requirements in section 4.

4. Distribution Restriction

You may distribute the Software in any medium with or without modification,
whether in source or executable forms, provided that you provide recipients
with a copy of this License and retain copyright, patent, trademark and
disclaimer statements in the Software.

5. Disclaimer of Warranty and Limitation of Liability

THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY
KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR
COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT
LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING
FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO
MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES.

6. Language

THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION
AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF
DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION
SHALL PREVAIL.

END OF THE TERMS AND CONDITIONS

How to Apply the Mulan Permissive Software License，Version 2
(Mulan PSL v2) to Your Software

To apply the Mulan PSL v2 to your work, for easy identification by
recipients, you are suggested to complete following three steps:

i. Fill in the blanks in following statement, including insert your software
name, the year of the first publication of your software, and your name
identified as the copyright owner;

ii. Create a file named "LICENSE" which contains the whole context of this
License in the first directory of your software package;

iii. Attach the statement to the appropriate annotated syntax at the
beginning of each source file.

Copyright (c) [Year] [name of copyright holder]
[Software Name] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan
PSL v2.
You may obtain a copy of Mulan PSL v2 at:
         http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>冬日温暖祝福</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Microsoft YaHei', sans-serif;
            background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%);
            overflow: hidden;
            height: 100vh;
        }
        
        /* 礼物页面样式 */
        #gift-page {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(45deg, #ff6b6b, #ffd93d);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            z-index: 1000;
            transition: opacity 0.5s;
        }
        
        .gift-box {
            width: 200px;
            height: 200px;
            background: #ff6b6b;
            border-radius: 10px;
            position: relative;
            animation: bounce 1s infinite alternate;
            box-shadow: 0 10px 30px rgba(255, 107, 107, 0.5);
        }
        
        .gift-box::before {
            content: '';
            position: absolute;
            width: 40px;
            height: 200px;
            background: #ff8e8e;
            left: 80px;
        }
        
        .gift-box::after {
            content: '';
            position: absolute;
            width: 200px;
            height: 40px;
            background: #ff8e8e;
            top: 80px;
        }
        
        .gift-bow {
            position: absolute;
            width: 40px;
            height: 40px;
            background: #4ecdc4;
            border-radius: 50%;
            top: -20px;
            left: 80px;
            z-index: 2;
        }
        
        h1 {
            color: white;
            font-size: 2.5em;
            margin: 30px 0;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        }
        
        #confirm-btn {
            background: #4ecdc4;
            color: white;
            border: none;
            padding: 15px 40px;
            font-size: 1.2em;
            border-radius: 50px;
            cursor: pointer;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            transition: transform 0.3s, background 0.3s;
        }
        
        #confirm-btn:hover {
            transform: scale(1.1);
            background: #3db4ab;
        }
        
        /* 弹窗样式 */
        .blessing-popup {
            position: absolute;
            min-width: 200px;
            max-width: 300px;
            padding: 20px;
            border-radius: 15px;
            box-shadow: 0 5px 25px rgba(0,0,0,0.2);
            animation: popIn 0.5s forwards;
            text-align: center;
            font-size: 1.2em;
            font-weight: bold;
            z-index: 100;
        }
        
        /* 多种颜色样式 */
        .popup-style1 { background: #FFD93D; color: #6A4C93; }
        .popup-style2 { background: #6BCF7F; color: white; }
        .popup-style3 { background: #FF6B6B; color: white; }
        .popup-style4 { background: #4ECDC4; color: white; }
        .popup-style5 { background: #FF9A9E; color: white; }
        .popup-style6 { background: #A29BFE; color: white; }
        
        /* 动画效果 */
        @keyframes bounce {
            0% { transform: translateY(0); }
            100% { transform: translateY(-20px); }
        }
        
        @keyframes popIn {
            0% { transform: scale(0.5); opacity: 0; }
            70% { transform: scale(1.1); }
            100% { transform: scale(1); opacity: 1; }
        }
        
        @keyframes float {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-10px) rotate(5deg); }
        }
        
        .heart {
            position: absolute;
            font-size: 2em;
            animation: float 3s infinite;
            z-index: 1;
        }
    </style>
</head>
<body>
    <!-- 礼物页面 -->
    <div id="gift-page">
        <div class="gift-bow"></div>
        <div class="gift-box"></div>
        <h1>给你准备了一份冬日温暖💖</h1>
        <button id="confirm-btn">开启祝福</button>
    </div>

    <script>
        // 立冬和情侣祝福语
        const blessings = [
            "立冬快乐！愿我的爱像暖阳，温暖你整个冬天❄️",
            "天气变冷，但我的思念越来越暖🌞", 
            "这个冬天，我想一直温暖你的手👫",
            "立冬吃饺子，我们的爱不打烊🥟",
            "寒风起，想抱你的心更急切了💑",
            "你是我冬日里最暖的小太阳☀️",
            "愿这个冬天，我们的爱如火炉般炽热🔥",
            "立冬安康，愿你三冬暖，愿你春不寒🌷",
            "冬天来了，春天还会远吗？我们的爱永远春暖花开🌺",
            "雪花飘落时，我最想分享温暖的人是你⛄",
            "冷的是天气，暖的是我们的心❤️",
            "立冬之际，许你一生温暖相伴🌟",
            "想把你裹进大衣里，一起走过这个冬天🧥",
            "冬日浪漫，就是和你一起吃热乎乎的火锅🍲",
            "你一笑，我的冬天就融化了☃️"
        ];
        
        // 弹窗样式类名数组
        const popupStyles = ['popup-style1', 'popup-style2', 'popup-style3', 'popup-style4', 'popup-style5', 'popup-style6'];
        
        // 创建心形元素
        function createHearts() {
            for (let i = 0; i < 20; i++) {
                setTimeout(() => {
                    const heart = document.createElement('div');
                    heart.className = 'heart';
                    heart.innerHTML = '💖';
                    heart.style.left = Math.random() * 100 + 'vw';
                    heart.style.fontSize = (Math.random() * 2 + 1) + 'em';
                    heart.style.animationDelay = Math.random() * 3 + 's';
                    document.body.appendChild(heart);
                }, i * 200);
            }
        }
        
        // 创建祝福弹窗
        function createBlessing() {
            const blessingText = blessings[Math.floor(Math.random() * blessings.length)];
            const styleClass = popupStyles[Math.floor(Math.random() * popupStyles.length)];
            
            const popup = document.createElement('div');
            popup.className = `blessing-popup ${styleClass}`;
            popup.textContent = blessingText;
            
            // 随机位置（确保在视口内）
            const maxX = window.innerWidth - 300;
            const maxY = window.innerHeight - 150;
            const x = Math.max(0, Math.floor(Math.random() * maxX));
            const y = Math.max(0, Math.floor(Math.random() * maxY));
            
            popup.style.left = x + 'px';
            popup.style.top = y + 'px';
            
            // 随机旋转角度（-10到10度）
            const rotation = Math.floor(Math.random() * 20) - 10;
            popup.style.transform = `rotate(${rotation}deg)`;
            
            document.body.appendChild(popup);
            
            // 3秒后淡出并移除弹窗
            setTimeout(() => {
                popup.style.transition = 'opacity 0.5s';
                popup.style.opacity = '0';
                setTimeout(() => {
                    if (popup.parentNode) {
                        popup.parentNode.removeChild(popup);
                    }
                }, 500);
            }, 3000);
        }
        
        // 开始祝福弹窗
        function startBlessings() {
            // 隐藏礼物页面
            document.getElementById('gift-page').style.opacity = '0';
            setTimeout(() => {
                document.getElementById('gift-page').style.display = 'none';
            }, 500);
            
            // 创建背景爱心
            createHearts();
            
            // 初始创建5个弹窗
            for (let i = 0; i < 5; i++) {
                setTimeout(createBlessing, i * 300);
            }
            
            // 每隔一段时间创建一个新弹窗
            const interval = setInterval(createBlessing, 800);
            
            // 30秒后停止创建新弹窗
            setTimeout(() => {
                clearInterval(interval);
            }, 30000);
        }
        
        // 绑定确认按钮事件
        document.getElementById('confirm-btn').addEventListener('click', startBlessings);
        
        // 添加一些交互效果：点击任意处也可创建弹窗
        document.body.addEventListener('click', function(e) {
            if (e.target.id !== 'confirm-btn' && document.getElementById('gift-page').style.display === 'none') {
                createBlessing();
            }
        });
    </script>
</body>
</html>